#ifndef _NOTES_PANEL_H
#define _NOTES_PANEL_H

#include "note_filter.h"
#include "notes_panel_base.h"

class DBase;

class NotesPanel: public NotesPanelBase
{
private:

    DBase *db;
    NoteFilter filter;
    wxString *source;

    void InsertNote(const Note &n);
    void InsertKeyword(const Keyword &k);

public:
    NotesPanel(AppFrame *top_frame, wxWindow* parent, DBase *db, wxString *source);

    void GetFilter(NoteFilter& filter);
    void SetFilter(const NoteFilter& filter);
    void EditSelection();

    void NotifyNewNote(const Note& n);
    void NotifyEditedNote(const Note& n);
    void NotifyDeletedNote(const Note& n);
    void NotifyNewKeyword(const Keyword& n);
    void NotifyEditedKeyword(const Keyword& n);
    void NotifyDeletedKeyword(const Keyword& n);
};

#endif
